# 1.有如下文件，a1.txt，里面的内容为：
# 老男孩是最好的学校，
# 全心全意为学生服务，
# 只为学生未来，不为牟利。
# 我说的都是真的。哈哈
# 分别完成以下的功能：
# a,将原文件全部读出来并打印。
'''
f = open(r"D:\代码\作业\a1",mode="r",encoding="utf-8")
print(f.read())
'''
# b,在原文件后面追加一行内容：信不信由你，反正我信了。
'''
f = open(r"D:\代码\作业\a1",mode="a",encoding="utf-8")
f.write("信不信由你，反正我信了。\n")
'''
# c,将原文件全部读出来，并在后面添加一行内容：信不信由你，反正我信了。
'''
f = open(r"D:\代码\作业\a1",mode="r+",encoding="utf-8")
print(f.read())
f.write("信不信由你，反正我信了。")
'''
# d,将原文件全部清空，换成下面的内容：
# 每天坚持一点，
# 每天努力一点，
# 每天多思考一点，
# 慢慢你会发现，
# 你的进步越来越大。
'''
f = open(r"D:\代码\作业\a1",mode="w",encoding="utf-8")
f.write("每天坚持一点，\n每天努力一点，\n每天多思考一点，\n慢慢你会发现，\n你的进步越来越大。")
'''

# 2.有如下文件，t1.txt,里面的内容为：
# 葫芦娃，葫芦娃，
# 一根藤上七个瓜
# 风吹雨打，都不怕，
# 啦啦啦啦。
# 我可以算命，而且算的特别准:
# 上面的内容你肯定是心里默唱出来的，对不对？哈哈
# 分别完成下面的功能：
# a,以r的模式打开原文件，利用for循环遍历文件句柄。
'''
f = open(r"D:\代码\作业\a1",mode='r',encoding='utf-8')
for i in f:
    print(i.strip)
'''
# b,以r的模式打开原文件，以readlines()方法读取出来，并循环遍历 readlines(),
# 并分析a,与b 有什么区别？深入理解文件句柄与 readlines()结果的区别。
'''
f = open(r"D:\代码\作业\a1",mode='r',encoding='utf-8')
for i in f.readlines():
    print(i)
'''
# c,以r模式读取‘葫芦娃，’前四个字符。
'''
f = open(r"D:\代码\作业\a1",mode='r',encoding='utf-8')
print(f.read(4))
'''
# d,以r模式读取第一行内容，并去除此行前后的空格，制表符，换行符。
'''
f = open(r"D:\代码\作业\a1",mode='r',encoding='utf-8')
print(f.readline().strip())
'''
# e,以a+模式打开文件，先追加一行：‘老男孩教育’然后在从最开始将 原内容全部读取出来。
'''
f = open(r"D:\代码\作业\a1",mode='a+',encoding='utf-8')
f.write("老男孩教育")
f.seek(0)
print(f.read())
'''
# 3.文件a.txt内容：每一行内容分别为商品名字，价钱，个数。
# apple 10 3
# tesla 100000 1
# mac 3000 2
# lenovo 30000 3
# chicken 10 3
# 通过代码，将其构建成这种数据类型：
# [{'name':'apple','price':10,'amount':3},
#  {'name':'tesla','price':1000000,'amount':1}......
#  ]
# 并计算出总价钱。
'''
dit = {}
sum = 0
lst = []
f = open(r"D:\代码\作业\a",mode='r',encoding='utf-8')
for i in f.readlines():
    i = i.strip().split(" ")
    dit['name'] = i[0]
    dit['price'] = i[1]
    dit['amount'] = i[2]
    lst.append(dit)
    sum = sum + int(i[1]) * int(i[2])
print(lst)
print(sum)
'''

# 4.有如下文件：
# alex是老男孩python发起人，创建人。
# alex其实是人妖。
# 谁说alex是sb？
# 你们真逗，alex再牛逼，也掩饰不住资深屌丝的气质。
# 将文件中所有的alex都替换成大写的SB（文件的改的操作）。
'''
import os
f = open(r"D:\代码\作业\a2",mode='r',encoding='utf-8')
f1 = open(r"D:\代码\作业\a1",mode='w',encoding='utf-8')
for i in f:
    i = i.replace("alex","SB")
    f1.write(i)
f.close()
f1.close()
os.rename("a2","a3")
os.rename("a1","a2")
'''

# 5.文件a1.txt内容(选做题)
#
# name:apple price:10 amount:3 year:2012
# name:tesla price:100000 amount:1 year:2013
# .......
#
# 通过代码，将其构建成这种数据类型：
# [{'name':'apple','price':10,'amount':3,year:2012},
# {'name':'tesla','price':1000000,'amount':1}......]
# 并计算出总价钱。
#
'''
dit = {}
lst = []
sum = 0
f = open(r"D:\代码\作业\b",mode='r',encoding='utf-8')
for i in f.readlines():
    i = i.strip().split(" ")
    for a in i:
        a,b = a.split(':')
        dit[a] = b
        lst.append(dit)
for i in lst:
    sum = sum + int(i['price']) * int(i['amount'])
print(lst)
print(sum)
'''

# 6.文件a1.txt内容(选做题)
# 序号 部门 人数 平均年龄 备注
# 1 python 30 26 单身狗
# 2 Linux 26 30 没对象
# 3 运营部 20 24 女生多
# .......
#
# 通过代码，将其构建成这种数据类型：
# [{'序号':'1','部门':Python,'人数':30,'平均年龄':26,'备注':'单身狗'},
# ......]








